
public class Study2 {
    /* &&(与运算)，||（或运算）的再次探究*/
    public static void main (String[] args) {
        int num = 9;
        int num2 = 10;
        boolean flag = (num > num2) && (num++ < 10); // 假 （false）
        boolean flag2 = (num < num2) || (num2++ < 10); // 真 (true)
        System.out.println("falg是="+flag);
        System.out.println("falg2是="+flag2);
        System.out.println("num是="+num); // 9
        System.out.println("num2是="+num2); // 10
    }




    /* &&(与运算)，||（或运算）的探究*/
    public static void main10 (String[] args) {
        /*短路求值*/
        System.out.println( 10 > 20 && 10 / 0 == 0); // false
        System.out.println(10 < 20 || 10 / 0 == 0); // true

    }



    /* 注意：！（非运算）再探究*/
    public static void main9 (String[] args) {
        int a = 10;
        int b = 20;
        System.out.println(!(a < b)); // 报错 因为 ！ 非运算符，只能用于boolean;

    }



    /* 注意：！（非运算）的探究*/
    public static void main8 (String[] args) {
        int a = 10;
        //System.out.println(!a); // 报错：！ 只能用于 boolean 类型
        boolean flag = true;
        System.out.println(!flag);

    }



    /* 关系运算符*/
    public static void main7 (String[] args) {
        /* String[] args 运行的命令行参数*/
        int num = 10;
        int num2 = 20;

        System.out.println(num == num2); // false
        System.out.println(num != num2); // true
        System.out.println(num < num2);  // true
        System.out.println(num > num2);  // false
        System.out.println(num <= num2);  // true
        System.out.println(num >= num2);  // false 

    }



    /*对后置，前置 运算符的再探究*/
    public static void main6 (String[] args) {
        int a = 3;
        int b = a++;
        int c = ++a;
        System.out.println(a); // 5
        System.out.println(a); // 5 
        System.out.println(b); // 3
        System.out.println(b); // 3
        System.out.println(c); // 5
        System.out.println(c); // 5


    }



    /*对后置，前置 运算符的再探究*/
    public static void main5 (String[] args) {
        int i =10;
        i = i++;
        System.out.println(i); // 10 
        // 注意这里i还是等于 10 的

    }


    /*对后置，前置 运算符*/
    public static void main4 (String[] args) {
        int a = 10;
        int b = ++a;
        System.out.println(b); // 11
        int c = a++;
        System.out.println(c); // 11
    }




    /*取余% 运算符的探究*/
    public static void main3(String[] args) {
        System.out.println(10%3); // 1
        System.out.println(-10%3); // -1
        System.out.println(10%-3); // 1 
        System.out.println(-10%-3); // -1

    }



    /*除法2*/
    public static void main2 (String[] args) {
        System.out.println(10/1); // 报错，异常，算术异常
    }



    /*运算符的探究 : 除法：\*/
    public static void main1 (String[] args) {
        /*String[] args 运行的命令行参数*/
        System.out.println(5/2); // 2
        System.out.println(5.0/2); // 2.5
        System.out.println((float)5/2); // 2.5
        System.out.println((float)(5/2)); // 2.0

    }
}

